struct _POP_FX_DEVICE// Size=0x310
{
    struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
    struct _IRP * Irp;// Offset=0x8 Size=0x4
    struct _POP_IRP_DATA * IrpData;// Offset=0xc Size=0x4
    union _POP_FX_DEVICE_STATUS Status;// Offset=0x10 Size=0x4
    long PowerReqCall;// Offset=0x14 Size=0x4
    long PowerNotReqCall;// Offset=0x18 Size=0x4
    struct _DEVICE_NODE * DevNode;// Offset=0x1c Size=0x4
    struct PEPHANDLE__ * DpmContext;// Offset=0x20 Size=0x4
    struct _POP_FX_PLUGIN * Plugin;// Offset=0x24 Size=0x4
    struct PEPHANDLE__ * PluginHandle;// Offset=0x28 Size=0x4
    struct _POP_FX_PLUGIN * AcpiPlugin;// Offset=0x2c Size=0x4
    struct PEPHANDLE__ * AcpiPluginHandle;// Offset=0x30 Size=0x4
    struct _DEVICE_OBJECT * DeviceObject;// Offset=0x34 Size=0x4
    struct _DEVICE_OBJECT * TargetDevice;// Offset=0x38 Size=0x4
    struct _POP_FX_DRIVER_CALLBACKS Callbacks;// Offset=0x3c Size=0x28
    void * DriverContext;// Offset=0x64 Size=0x4
    struct _LIST_ENTRY AcpiLink;// Offset=0x68 Size=0x8
    struct _UNICODE_STRING DeviceId;// Offset=0x70 Size=0x8
    long CommonReferenceFlags;// Offset=0x78 Size=0x4
    struct _IO_REMOVE_LOCK RemoveLock;// Offset=0x7c Size=0x18
    struct _IO_REMOVE_LOCK AcpiRemoveLock;// Offset=0x94 Size=0x18
    struct _POP_FX_WORK_ORDER WorkOrder;// Offset=0xac Size=0x1c
    unsigned long IdleLock;// Offset=0xc8 Size=0x4
    struct _KTIMER IdleTimer;// Offset=0xd0 Size=0x28
    struct _KDPC IdleDpc;// Offset=0xf8 Size=0x20
    unsigned long long IdleTimeout;// Offset=0x118 Size=0x8
    unsigned long long IdleStamp;// Offset=0x120 Size=0x8
    struct _DEVICE_OBJECT * NextIrpDeviceObject[2];// Offset=0x128 Size=0x8
    union _POWER_STATE NextIrpPowerState[2];// Offset=0x130 Size=0x8
    void  ( * NextIrpCallerCompletion)[2];// Offset=0x138 Size=0x8
    void * NextIrpCallerContext[2];// Offset=0x140 Size=0x8
    struct _KEVENT IrpCompleteEvent;// Offset=0x148 Size=0x10
    unsigned char  ( * PowerOnDumpDeviceCallback)(struct _PEP_CRASHDUMP_INFORMATION * );// Offset=0x158 Size=0x4
    struct _POP_FX_ACCOUNTING Accounting;// Offset=0x160 Size=0xd8
    unsigned long Flags;// Offset=0x238 Size=0x4
    unsigned long ComponentCount;// Offset=0x23c Size=0x4
    struct _POP_FX_COMPONENT ** Components;// Offset=0x240 Size=0x4
    unsigned long LogEntries;// Offset=0x244 Size=0x4
    struct _POP_FX_LOG_ENTRY * Log;// Offset=0x248 Size=0x4
    long LogIndex;// Offset=0x24c Size=0x4
    struct _DRIVER_OBJECT * DripsWatchdogDriverObject;// Offset=0x250 Size=0x4
    struct _POP_FX_DRIPS_WATCHDOG_CONTEXT DripsWatchdogContext;// Offset=0x254 Size=0x14
    unsigned long DirectedTimeout;// Offset=0x268 Size=0x4
    struct _POP_FX_WORK_ORDER DirectedWorkOrder;// Offset=0x26c Size=0x1c
    struct _POP_FX_WORK_ORDER_WATCHDOG_INFO DirectedWorkWatchdogInfo;// Offset=0x288 Size=0x68
    unsigned long DirectedLock;// Offset=0x2f0 Size=0x4
    long DirectedTransitionCallCount;// Offset=0x2f4 Size=0x4
    struct _POP_FX_DEVICE_DIRECTED_TRANSITION_STATE DirectedTransitionState;// Offset=0x2f8 Size=0xc
    struct _POP_DEVICE_POWER_PROFILE * PowerProfile;// Offset=0x304 Size=0x4
    struct _UNICODE_STRING FriendlyName;// Offset=0x308 Size=0x8
};